package com.kmxd.ams.client.archive.dto;

import com.baomidou.mybatisplus.annotation.TableField;
import io.swagger.v3.oas.annotations.media.Schema;
import java.io.Serializable;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import lombok.Data;

/**
 * 门类|档案库配置主表
 *
 * @author ZuoLG
 * @since 2022-07-15
 */
@Schema(description = "门类|档案库配置主表对象")
@Data
public class ArchiveTypeQueryDTO implements Serializable {

  private static final long serialVersionUID = 1L;

  @Schema(description = "门类配置id")
  @NotNull(message = "门类配置id")
  private Long id;

  /** 所属表名 */
  @Schema(description = "所属表名")
  @NotNull(message = "所属表名不能为空")
  private String tableId;

  @Schema(description = "公司ID")
  private Long comId;

  @Schema(description = "全宗ID")
  private Long fondsId;

  /** 名称 当前全宗下不可重复。由于此表是逻辑删除，因此需要排除掉已删除的记录的名字进行查重 */
  @Schema(description = "名称 当前全宗下不可重复。由于此表是逻辑删除，因此需要排除掉已删除的记录的名字进行查重")
  @Size(max = 100, message = "名称")
  private String name;

  @Schema(description = "是否包含案卷")
  private Boolean haveVol;

  @Schema(description = "是否包含盒")
  private Boolean haveBox;

  @Schema(description = "是否包含项目")
  private Boolean haveProject;

  @Schema(description = "角色id")
  @TableField(exist = false)
  private Long roleId;
}
